package cn.itrip.biz.service.itripHotelOrder;
import cn.itrip.dto.Dto;
import cn.itrip.pojo.ItripHotelOrder;

import java.security.PublicKey;
import java.util.*;
import java.util.List;
import java.util.Map;
import cn.itrip.common.Page;
import cn.itrip.pojo.ItripHotelTempStore;
import cn.itrip.pojo.ItripUserLinkUser;
import cn.itrip.vo.order.*;
import sun.security.krb5.internal.PAData;

/**
 * @Author: wangrj
 * @Date: 2019/5/20 下午9:26
 */
public interface ItripHotelOrderService {

    public ItripHotelOrder getItripHotelOrderById(Long id)throws Exception;

    public ItripPersonalHotelOrderVO getItripHotelOrderById2(Long id)throws Exception;

    public ItripPersonalOrderRoomVO getItripHotelOrderByVo(Long id)throws Exception;

    public List<ItripHotelOrder> getItripHotelOrderByIdAndStatus(Integer userId)throws Exception;

    public Page getItripHotelOrderListByMap(ItripSearchOrderVO vo)throws Exception;

    public Dto itriptxInsertItripHotelOrder(ItripAddHotelOrderVO vo, String token) throws Exception;

    public double getSumRoomPrice(long l, Double roomPrice) throws Exception;

    public Integer getItripHotelOrderCountByMap(Map<String, Object> param)throws Exception;

    public Integer itriptxAddItripHotelOrder(ItripHotelOrder ItripHotelOrder)throws Exception;

    public Integer itriptxModifyItripHotelOrder(ItripHotelOrder ItripHotelOrder)throws Exception;

    public Integer itriptxDeleteItripHotelOrderById(Long id)throws Exception;

    public Page<ItripHotelOrder> queryItripHotelOrderPageByMap(Map<String, Object> param, Integer pageNo, Integer pageSize)throws Exception;

    //获取预定前信息
    public Dto getValiDateRoomStore(ValidateRoomStoreVO vo)throws Exception;


    public Dto getValiDateRoomStore1(ValidateRoomStoreVO vo)throws Exception;

    public List<ItripHotelTempStore> queryRoomStore(HashMap<String, Object> param) throws Exception;

    public Map<String, Object> insertItripHotelOrder(ItripHotelOrder order, List<ItripUserLinkUser> linkUser) throws Exception;

    public ItripPersonalOrderRoomVO getItripPersonalOrderRoomByVo(Long id)throws Exception;

    public Integer changeOrderToComment() throws Exception;
}
